docs(pm-dispatch,os-dev): 决策分析轴由两条扩为三条 —— 补「实际业务需求」轴与创业聚焦原则 (#5130) - #5453
Merged
Conversation
维护者 2026-08-04 在 #5021 裁决现场的指示(「我们是一个创业项目,应该先专注于 核心能力,这个也应该写入项目经理 skills」)落到 agent 协议文本。当天起的实操 已按三轴呈报,skill 文本落后于实践。 - SKILL.md 第 8 步(Escalate):「两条固定评估轴」→ 三条,新轴「实际业务需求」 列第一位 —— 判据要求实测(谁在写这个键 / 谁在读这个能力 / showcase 与真实 部署里的用法),不接受「读起来像有用」;创业阶段聚焦原则:能力扩张默认从紧, 无业务拉动的声明面按 implementation-first 处置,已发布但零消费的能力不因 沉没成本获得豁免(先例 #5021 / #4988 / #4834)。 - 原两轴(项目长远合理性、防 AI 写代码与写元数据 app 犯错)原文保留,仅顺序 后移;收尾句「这两条轴 / 两轴冲突」→ 三条 / 三轴;分诊一节 line 481 的 `the deep two-axis analysis` → `three-axis`。 - .claude/agents/os-dev.md 的 needs_decision 升级段同步(two fixed axes → three fixed axes、both axes → all three axes)。两处是同一套框架的两半: 不同步则开发 agent 按两轴上报、PM 按三轴呈报,业务轴每次要 PM 事后补。 为什么值一条独立的轴:#4936 与 #5021 是业务轴改变结论的正反两例 —— 前者因 showcase 自证业务方向而裁「响亮拒绝而非退役」,后者因无拉动裁退役;只看原来的 两条轴,这两单会得出同一个答案。 刻意未动:已发布目录 skills/objectstack-pm-dispatch/SKILL.md 的两轴镜像(发布 内容,另立 #5451),docs/adr/0121 记述的是当时按两轴做出的裁决(历史记录)。 Fixes #5130 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GX3sL71LFq8m2usg6VqTSE
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
os-zhuang
marked this pull request as ready for review
August 5, 2026 12:34
Contributor
⛔ merge queue 构建失败 — 先分诊,再决定要不要重排队列构建 31006214413 红了。队列跑的是全量套件(PR 侧 CI 只跑 affected 子集), 失败的 job(日志抽取,best effort):
历史信号:
分诊清单:
Generated by Claude Code · merge-queue-triage workflow (#4859) |
This was referenced Aug 5, 2026
Merged
akarma-synetal
pushed a commit
to akarma-synetal/framework
that referenced
this pull request
Aug 6, 2026
…talled the release (objectstack-ai#5292) (objectstack-ai#5467) The gate's failure message offered "an empty changeset" and the `skip-changeset` label as two equal ways out, and the comment above the counter called them "on par". They are equal to THIS gate's counting, but not downstream: the label is a gate-level exemption that produces no input for changesets/action, while an empty-frontmatter changeset is a real input to it. When every pending changeset is empty the action takes its `hasChangesets && !hasNonEmptyChangesets` branch, prints "All changesets are empty; not creating PR" and returns in 0 seconds -- no version PR, no publish, Release run green. That is objectstack-ai#4898, which stalled 17.0.0-rc.2. The message was therefore an active mis-prescription: it handed a known release-stalling input to whoever had just hit the wall. Rewritten to three ranked routes, with the label preferred and the empty changeset demoted to a warned last resort that names objectstack-ai#4898. The counting logic is untouched: an empty changeset still counts, so today's precedent (objectstack-ai#5453 / objectstack-ai#5454, both merged behind empty changesets) stays valid. Claude-Session: https://claude.ai/code/session_01GX3sL71LFq8m2usg6VqTSE Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #5130
维护者 2026-08-04 在 #5021 裁决现场的指示(「我们是一个创业项目,应该先专注于核心能力,这个也应该写入项目经理 skills」)落到 agent 协议文本。当天起的实操已按三轴呈报,skill 文本落后于实践 —— 本 PR 把文本追上实践。
前提核对(先做的事)
issue 引用的行号可能已过期,所以先在
origin/main@01c0bae实测。前提成立,并且引用面比 issue 正文写的多一处:全仓 grep(中英两种写法)命中 5 处,全部落在.claude/:.claude/skills/pm-dispatch/SKILL.md:1003每个方案必须沿两条固定评估轴.claude/skills/pm-dispatch/SKILL.md:1013这两条轴/两轴冲突时.claude/skills/pm-dispatch/SKILL.md:481the deep two-axis analysis(分诊一节,issue 正文未列).claude/agents/os-dev.md:182Analyze every option on two fixed axes.claude/agents/os-dev.md:196justified on both axes5 处全改,改完复查残留为 0。
改了什么
.claude/skills/pm-dispatch/SKILL.md第 8 步(Escalate):「两条固定评估轴」→ 三条,新轴 「实际业务需求」列第一位:--font-size-*/--z-*/--duration-*…):ADR-0049 该判去留 #5021(主题排版 9 组)、ui/ 五个交互配置文件(22 个 z.object 站点)没有任何承载键:实测「无授权门」,按 ADR-0049 定去留 #4988(交互配置 22 站点)、ADR-0049:plugin-runtime.zod.ts剩余家族(DynamicLoadRequest / DynamicUnloadRequest / DynamicPluginResult / PluginSource / DynamicPluginOperation)四仓零 runtime consumer —— enforce-or-remove 悬置待裁 #4834(plugin-runtime 五 schema)。--font-size-*/--z-*/--duration-*…):ADR-0049 该判去留 #5021 因无业务拉动裁退役,声明式apis:(ApiEndpoint)入站面全链路零执行:元数据装载成功、路由从未挂载、matchEndpoint全仓无实现 #4936 则因 showcase 自证了业务方向而裁「响亮拒绝而非退役」—— 只看后两条轴,这两单会得出同一个答案,那是错的。原两轴(项目长远合理性、防 AI 写代码与写元数据 app 犯错)原文一字未改,仅顺序后移;收尾句改为三条 / 三轴;分诊一节的
deep two-axis→three-axis。.claude/agents/os-dev.md的needs_decision升级段同步(two fixed axes→three fixed axes,both axes→all three axes,新增对应的英文 Real business need 轴)。这一处是按派单补充说明「若.claude/agents/os-dev.md也引用两轴,按验收第一条同步;引用处以 grep 实测为准」做的,理由:两处本就是同一套框架的两半,不同步的话开发 agent 按两轴上报、PM 按三轴呈报,业务轴每次都要 PM 事后补。先例上两文件也是一起改的(.changeset/pm-dev-discipline-2026-08-04.md,docs(pm-dispatch,os-dev))。若维护者认为发布/内部之外还要区分 PM 与 dev 两种 agent,这一段是独立 hunk,可单独回退。刻意没改的两处(都不是漏)
skills/objectstack-pm-dispatch/SKILL.md(已发布 skill)仍是两轴,7 处。 那是 catalog 发布内容,属用户可见变更(要 changeset),而且第三条轴的措辞绑的是我们自己的处境(「我们是一个创业项目」),是否该泛化给装这份 skill 的第三方项目是个新问题 —— pm-dispatch SKILL:决策分析轴由两条扩为三条 —— 补「实际业务需求」轴与创业聚焦原则(维护者 2026-08-04 指示) #5130 验收第三条明确把范围钉在.claude/。按 Prime Directive chore: version packages #10 另立 已发布 skillobjectstack-pm-dispatch仍是两轴决策框架 —— 与.claude/内部三轴(#5130)分叉,且「创业聚焦」轴是否该泛化给第三方项目未定 #5451(含 A/B/C 三方案与倾向 B 的理由),Blocked-by: #5130。docs/adr/0121-*.md的「两条评估轴」 —— 那是记述当时按两轴做出的裁决,属历史记录,改了就是篡改。ADR 要改需另立 ADR(PD#13)。同文件的排队单 #5095(域分类表补包)按派单要求本轮完全未碰。
验证
.claude/下的 agent 协议文本没有可执行面,仓里也没有任何 test 钉过这段措辞(全仓 greptwo fixed axes/both axes/两条固定评估轴于*.ts,*.mts,*.mjs无相关命中),所以这次没有可写的新单测 —— 与其编一条 grep 断言充数,不如说明真实覆盖来自读这些文件的仓内门禁,四条全绿:changeset 门禁两条也跑了:
check-changeset-no-major/check-changeset-fixed均 exit 0。字节纪律另做了一次超出门禁盲区的自扫:
grep -naP '[\x00-\x08\x0b\x0c\x0e-\x1f]'对两个文件均无命中,file报Unicode text, UTF-8 text。changeset
按仓惯例给了空 frontmatter changeset(
.changeset/pm-dispatch-three-axis-decision-frame.md)。issue 说「无 changeset 需求」,实测仓惯例是:pr-automation.yml的changeset-check对每个 PR 强制要求本 PR 新增至少一个 changeset,而空 frontmatter 是它认可的「本 PR 不发布任何东西」声明,与skip-changeset标签等价。同类先例:.changeset/pm-dispatch-domain-lanes.md、.changeset/pm-dispatch-escalation-bar.md、.changeset/pm-dev-discipline-2026-08-04.md—— 都是.claude/改动 + 空 frontmatter + 「不发布任何包」。🤖 Generated with Claude Code
https://claude.ai/code/session_01GX3sL71LFq8m2usg6VqTSE
Generated by Claude Code